1. Technical Field of the Invention
This invention relates to updating child database design and data updates. More particularly, it relates to push/pull propagation of such updates from a source to a template, and from a template to child.
2. Background Art
A PlaceType is a mechanism for software reuse in the IBM Lotus QuickPlace® product. By it, a user may take a snapshot of a QuickPlace and make a template or PlaceType for other users to create new QuickPlaces. A PlaceType allows the user (administrator, author, etc.) to control the design logic and content of a child QuickPlace by refreshing it with changes made to its PlaceType.
Heretofore PlaceType follows a cookie-cutter model because of its limited refresh capability. There is a need in the art for a very flexible method for updating a software application design and its content and data, based on changes to its template.
The IBM Lotus Domino® product, a template is a skeleton that contains design elements, but no documents or content. When a template is used to create a database, the database receives the design elements from the template. Refreshing a design updates a database whose design is linked to a master template. In other words, Domino templating is only for design of databases, not for content.
In QuickPlace, PlaceType is a template that contains not only design but also logic and content. Refreshing a child place updates the design as well as logic and content of the place from its PlaceType.
In Domino, when an inherited design element is deleted from the database, its link to its template is lost. During subsequent refresh, this deleted design element will be copied back from the template to the database. There is no way to detect whether a design element, that exists in the template but not in the derived database, is a new design element or an already deleted element to the database.
In Domino, central refresh is a pull model. A design server task iterates through all server databases and pulls updates from its master template to each database.
The IBM Lotus Notes® replication push and pull model synchronizes source databases and their replicates across servers to distribute changes to Notes documents. On the other hand, PlaceType update requires a one-way, either push or pull, synchronization.
There is a need in the art for a very flexible method for updating a software application design and its content and data, based on changes to its template. There also is the need to provide for updating any structural, logical, or content items as needed, without the need to decide up front which items may be needed to be updated in the future.